/**
 * Copyright(c) 2014 Xunton Solutions
 *
 * History:
 *   15-9-18 下午5:27 Created by dwzhang
 */
package com.jade.bss.weixin.api.pay.protocol;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import com.jade.bss.weixin.api.protocol.xml.Request;

/**
 * 该接口提供所有微信支付订单的查询，商户可以通过该接口主动查询订单状态，完成下一步的业务逻辑。
 * 需要调用查询接口的情况：
 * ◆ 当商户后台、网络、服务器等出现异常，商户系统最终未接收到支付通知；
 * ◆ 调用支付接口后，返回系统错误或未知交易状态情况；
 * ◆ 调用被扫支付API，返回USERPAYING的状态；
 * ◆ 调用关单或撤销接口API之前，需确认支付状态；
 *
 * @author <a href="mailto:dwzhang@xunton.com">dwzhang</a> 
 * @version 1.0 15-9-18 下午5:27
 */
@XmlRootElement (name = "xml")
@XmlAccessorType (XmlAccessType.FIELD)
public class OrderQueryRequest extends Request
{
    //微信的订单号，优先使用
    @XmlElement (name = "transaction_id")
    private String transactionId;
    //商户系统内部的订单号，当没提供transaction_id时需要传这个。
    @XmlElement (name = "out_trade_no")
    private String outTradeNo;

    public String getTransactionId()
    {
        return transactionId;
    }

    public void setTransactionId(String transactionId)
    {
        this.transactionId = transactionId;
        putParam("transaction_id", transactionId);
    }

    public String getOutTradeNo()
    {
        return outTradeNo;
    }

    public void setOutTraceNo(String outTradeNo)
    {
        this.outTradeNo = outTradeNo;
        putParam("out_trade_no", outTradeNo);
    }
}
